package yl.hs.bmipfull.daos.laboratorydata;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import yl.hs.bmipfull.daos.BaseDao;
import yl.hs.bmipfull.pojo.laboratorydata.LabRmSandReportItemEntity;

import java.util.List;
import java.util.Map;

/**
 *  @apiNote  持久层接口
 * @since 2022年06月22日 16时13分50秒
 * @author 张凯
 */
@Repository
public interface ILabRmSandReportItemDao extends BaseDao<LabRmSandReportItemEntity> {
        /**
         *  分页查询信息
         *  @param map 查询条件 {@link LabRmSandReportItemEntity}
         *  @return 站内信息-List<{@link LabRmSandReportItemEntity}>
         */
        List<LabRmSandReportItemEntity> queryPage(@Param("map") Map<String, Object> map, @Param("filters") List<Map<String,Object>> filters);
        /**
         * 根据查询条件统计数据数量
         * @param map 查询条件
         * @return 数据数量
         */
        Integer queryCountByCondition(@Param("map") Map<String, Object> map, @Param("filters") List<Map<String,Object>> filters);

        /**
         *  根据编号更改信息状态
         * @param snArray 编号
         * @param state 要改变的状态
         * @return 执行结果
         */
        Integer changeStateBySN(String[] snArray, short state);

        @Override
        LabRmSandReportItemEntity findBySN(@Param("reportSN") String reportSN);

        @Select("select * from lab_rm_sand_report_item where reportSN=#{reportSN}")
        List<LabRmSandReportItemEntity> getByReportSN(@Param("reportSN") String reportSN);

        Integer deleteByReportSN (@Param("reportSN") String reportSN);
        }